package com.shanghai.market.plshnaghai.utils;

import android.content.Context;

/**
 * Android大小单位转换工具类
 * 
 * @author bill
 * @summary 标签实体类
 */
public class DisplayUtils {

	/**
	 * 将px值转换为dip或dp值，保证尺寸大小不变
	 * 
	 * @param pxValue
	 * @param 图形上下文
	 * @return
	 */
	public static int pxToDp( Context context, float pxValue) {
		return (int) (pxValue / context.getResources().getDisplayMetrics().density + 0.5f);
	}

	/**
	 * 将dip或dp值转换为px值，保证尺寸大小不变
	 * 
	 * @param dipValue
	 * @param 图形上下文
	 * @return
	 */
	public static int dpToPx( Context context, float dipValue) {
		return (int) (dipValue * context.getResources().getDisplayMetrics().density + 0.5f);
	}

	/**
	 * 将px值转换为sp值，保证文字大小不变
	 * 
	 * @param pxValue
	 * @param 图形上下文
	 * @return
	 */
	public static int px2sp( Context context, float pxValue) {
		return (int) (pxValue / context.getResources().getDisplayMetrics().scaledDensity + 0.5f);
	}

	/**
	 * 将sp值转换为px值，保证文字大小不变
	 * 
	 * @param spValue
	 * @param 图形上下文
	 * @return
	 */
	public static int sp2px( Context context, float spValue) {
		return (int) (spValue * context.getResources().getDisplayMetrics().scaledDensity + 0.5f);
	}

	/**
	 * 获取屏幕的密度
	 * 
	 * @param 图形上下文
	 * @return float 为屏幕密度（像素比例：0.75/1.0/1.5/2.0）
	 */
	public static float getDisplayDensity(Context context) {

		float density = context.getResources().getDisplayMetrics().density;
		return density;
	}

	public static int getDisplayDensityDpi(Context context) {

		int densityDpi = context.getResources().getDisplayMetrics().densityDpi;
		return densityDpi;
	}

}
